package com.yungu.swift.assets.driver.model.dto;

import com.yungu.swift.base.model.BaseDto;
import com.yungu.swift.base.model.annotation.AbsoluteImgPath;
import com.yungu.swift.base.model.annotation.Desensitization;
import com.yungu.swift.constants.CommonConstant;
import com.yungu.swift.utils.DateUtils;

import java.util.Date;


/**
 * 司机消息对象
 **/
public class DriverMessageDto extends BaseDto {

    /**
     * 消息类型
     **/
    private Integer type;

    /**
     * 发送类型（1：文本，2：链接）
     **/
    private Integer sendType;

    /**
     * 活动图片
     **/
    @AbsoluteImgPath
    private String pic;

    /**
     * 消息标题
     **/
    private String title;

    /**
     * 内容
     **/
    private String content;

    /**
     * 消息链接
     **/
    private String linkUrl;

    /**
     * 发送对象（1：全部 ,2：指定对象）
     **/
    private Integer sendObject;

    /**
     * 目标用户ID
     **/
    private String targetUuid;

    /**
     * 发送时间
     **/
    private Date sendTime;

    /**
     * 是否推送：0 ：否 ，1：是
     **/
    private Integer push;

    /**
     * 公司 uuid
     **/
    private String companyUuid;

    /**
     * 代理商uuid
     **/
    private String agentUuid;

    /**
     * 业务类型
     **/
    private Integer businessType;

    /**
     * 城市uuid
     **/
    private String cityUuid;
    /**
     * 指定对象名称
     **/
    private String targetName;

    /**
     * 指定对象的手机号
     **/
    private String targetDriverMobile;

    //非数据库字段
    /**
     * 阅读时间
     **/
    private Date readTime;

    /**
     * 消息状态（1:未读、2:已读 、3：删除、4：首页未读删除、5：首页已读删除）
     **/
    private Integer status;

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getType() {
        return this.type;
    }

    public void setSendType(Integer sendType) {
        this.sendType = sendType;
    }

    public Integer getSendType() {
        return this.sendType;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public String getPic() {
        return this.pic;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return this.title;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return this.content;
    }

    public void setLinkUrl(String linkUrl) {
        this.linkUrl = linkUrl;
    }

    public String getLinkUrl() {
        return this.linkUrl;
    }

    public void setSendObject(Integer sendObject) {
        this.sendObject = sendObject;
    }

    public Integer getSendObject() {
        return this.sendObject;
    }

    public void setSendTime(Date sendTime) {
        this.sendTime = sendTime;
    }

    public Date getSendTime() {
        return this.sendTime;
    }

    public void setPush(Integer push) {
        this.push = push;
    }

    public Integer getPush() {
        return this.push;
    }

    public void setCompanyUuid(String companyUuid) {
        this.companyUuid = companyUuid;
    }

    public String getCompanyUuid() {
        return this.companyUuid;
    }

    public void setAgentUuid(String agentUuid) {
        this.agentUuid = agentUuid;
    }

    public String getAgentUuid() {
        return this.agentUuid;
    }

    public String getCityUuid() {
        return cityUuid;
    }

    public void setCityUuid(String cityUuid) {
        this.cityUuid = cityUuid;
    }

    public String getTargetName() {
        return targetName;
    }

    public void setTargetName(String targetName) {
        this.targetName = targetName;
    }

    public String getTargetDriverMobile() {
        return targetDriverMobile;
    }

    public void setTargetDriverMobile(String targetDriverMobile) {
        this.targetDriverMobile = targetDriverMobile;
    }

    public void setBusinessType(Integer businessType) {
        this.businessType = businessType;
    }

    public Integer getBusinessType() {
        return businessType;
    }

    public String getTargetUuid() {
        return targetUuid;
    }

    public void setTargetUuid(String targetUuid) {
        this.targetUuid = targetUuid;
    }

    public Date getReadTime() {
        return readTime;
    }

    public void setReadTime(Date readTime) {
        this.readTime = readTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }


    public String getSendTimeStr() {
        return DateUtils.format(sendTime, "yyyy-MM-dd HH:mm:ss");
    }

    public Integer getTargetType() {
        return CommonConstant.DRIVER;
    }
}
